8. 쿠버네티스 용어집

쿠버네티스 용어집

A. 기본 개념

Kubernetes (쿠버네티스)

클러스터 (Cluster)

노드 (Node)

파드 (Pod)


B. Control Plane 컴포넌트

API 서버 (kube-apiserver)

etcd

스케줄러 (kube-scheduler)

컨트롤러 매니저 (kube-controller-manager)


C. 워커 노드 컴포넌트

kubelet

kube-proxy

컨테이너 런타임 (Container Runtime)


D. 워크로드 리소스

Deployment (디플로이먼트)

ReplicaSet (레플리카셋)

StatefulSet (스테이트풀셋)

DaemonSet (데몬셋)

Job (잡)

CronJob (크론잡)


E. 서비스와 네트워킹

Service (서비스)

헤드리스 서비스 (Headless Service)

Ingress (인그레스)

CNI (Container Network Interface)


F. 설정과 시크릿

ConfigMap (컨피그맵)

Secret (시크릿)

환경 변수 (Environment Variable)


G. 스토리지

Volume (볼륨)

PersistentVolume (PV)

PersistentVolumeClaim (PVC)

StorageClass (스토리지클래스)

emptyDir

AccessModes (접근 모드)

동적 프로비저닝 (Dynamic Provisioning)

CSI (Container Storage Interface)


H. 스케일링과 업데이트

스케일링 (Scaling)

HPA (Horizontal Pod Autoscaler)

VPA (Vertical Pod Autoscaler)

롤링 업데이트 (Rolling Update)

롤백 (Rollback)


I. 스케줄링 관련

nodeSelector

Affinity (어피니티)

Taint (테인트)

Toleration (톨러레이션)


J. 메타데이터

Label (레이블)

Annotation (어노테이션)

Selector (셀렉터)

Namespace (네임스페이스)


K. 매니페스트 관련

매니페스트 (Manifest)

apiVersion

kind

metadata

spec


L. 선언적 관리

선언적 관리 (Declarative Management)

명령적 관리 (Imperative Management)

컨트롤러 (Controller)

Reconciliation Loop (조정 루프)


M. 멀티 컨테이너 패턴

사이드카 패턴 (Sidecar)

앰배서더 패턴 (Ambassador)

어댑터 패턴 (Adapter)


N. 확장 기능

CRD (Custom Resource Definition)

Operator 패턴


O. 도구

kubectl

kubeconfig

컨텍스트 (Context)

Minikube


P. 관리형 쿠버네티스

EKS (Elastic Kubernetes Service)

GKE (Google Kubernetes Engine)

AKS (Azure Kubernetes Service)


아키텍처 다이어그램

[쿠버네티스 클러스터]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Control Plane (마스터)]
    │
    ├─ kube-apiserver    ← kubectl, 사용자 요청 진입점
    ├─ etcd              ← 클러스터 상태 저장
    ├─ kube-scheduler    ← 파드 배치 결정
    └─ kube-controller-manager
        ├─ Deployment Controller
        ├─ ReplicaSet Controller
        ├─ StatefulSet Controller
        ├─ DaemonSet Controller
        └─ Job Controller

[Worker Node 1]        [Worker Node 2]        [Worker Node N]
    │                      │                      │
    ├─ kubelet             ├─ kubelet             ├─ kubelet
    ├─ kube-proxy          ├─ kube-proxy          ├─ kube-proxy
    ├─ containerd          ├─ containerd          ├─ containerd
    │                      │                      │
    └─ [Pods]              └─ [Pods]              └─ [Pods]

리소스 관계도

[Deployment]
    ↓ 생성/관리
[ReplicaSet]
    ↓ 복제본 유지
[Pod] ─────────────────────────────┐
    ↓ 트래픽 라우팅                │
[Service] ←─ [Ingress] (외부)      │
                                   │
[ConfigMap] ──→ 환경변수/파일 ─────┤
[Secret] ──────→ 민감정보 ─────────┤
[PVC] ─────────→ 스토리지 ─────────┘
    ↓ 바인딩
[PV] ← [StorageClass] (동적 프로비저닝)

핵심 정리

리소스 용도 특징
Deployment Stateless 앱 롤링 업데이트, 스케일링
StatefulSet Stateful 앱 고정 ID, 순차 관리
DaemonSet 노드당 1개 파드 로그/모니터링 에이전트
Job 일회성 작업 완료 시 종료
CronJob 주기적 작업 스케줄 기반
Service 네트워크 엔드포인트 로드밸런싱
ConfigMap 설정 정보 평문 저장
Secret 민감 정보 Base64 인코딩
PV/PVC 영구 스토리지 파드와 독립 수명